Fuzzy genetic learning automata classifier

ABSTRACT

A method is provided for deriving a near-optimal fuzzy automaton for a given separation problem. The method includes the steps of: forming a first generation population ( 24 ) of fuzzy automata, where the first generation population of fuzzy automata includes a plurality of fuzzy automata; performing a mutation operation ( 28 ) on each fuzzy automaton in the first generation population of fuzzy automata; reproducing the first generation population of fuzzy automata using a survival of the fittest operation ( 30, 32, 34 ); and applying a cross-over operator ( 36 ) to the reproduced first generation population of fuzzy automata, thereby yielding a next-generation population of fuzzy automata. A near-optimal fuzzy automaton is identified by evaluating the performance ( 38 ) of each fuzzy automaton in the next-generation population; otherwise the methodology is repeated until a near-optimal fuzzy automaton is derived for the given separation problem.

GOVERNMENT RIGHT

[0001] The U.S. Government has certain rights in this invention pursuant to the clause at FAR 52.227-12.

BACKGROUND OF THE INVENTION

[0002] 1. Field of the Invention

[0003] This invention relates generally to signal classifiers, and, more particularly, to a signal classifier which employs fuzzy genetic learning automata.

[0004] 2. Discussion of the Related Art

[0005] Typical passive sensor systems which collect wideband signals are receiving an enormous flux of information from a continually evolving signal environment. This enormous flux of information threatens to exceed the capacities of the human signal analysts to analyze the data. As a result, there is a pressing need for artificially intelligent systems which quickly analyze the arriving data stream, and, while so doing, effect machine learning in order to adapt to the continual signal-environmental changes. The intelligent systems should filter the signal data by identifying and separating known signals from the arriving flux of signal information. This potentially reduces the workload for the human signal analyst by allowing him/her to focus attention on signal features which are more likely to contain mission-important information.

[0006] Adaptive front-end signal classifiers are generally known in the art. Conventional front-end signal classifiers utilize many inner product-based schemes which compare the arriving signal to a set of basis functions that serve as exemplary signals. These inner product-based schemes may be based on Fourier analysis, wavelets, and/or Gabor transforms. In each of these schemes, the computational intensity is high and there is little flexibility to adapt to a changing signal environment.

[0007] Therefore, it is desirable to provide an adaptive signal classifier which learns to identify specific embedded spatiotemporal signals in an arriving signal data stream of an evolving signal environment. More specifically, it is desirable to implement a signal classifier using fuzzy automata. Fuzzy automata generally use min-max aggregation to process the incoming data, thereby obviating the need for highly intense inner product-based comparisons to exemplary signals. Since each fuzzy automata is a language-learning system, only one requirement needs to be imposed on the signals that are to be acquired: a signal needs to be characterizable as occurring in one or more states and transitioning as a whole or partially among some or all states over time. Thus, the formal language framework of fuzzy automata is particularly well-matched to signal separation applications. In addition, the operation of each fuzzy automaton is independent of the durations of the incoming signals.

SUMMARY OF THE INVENTION

[0008] In accordance with the teachings of the present invention, a method is provided for deriving a near-optimal fuzzy automaton for a given separation problem. The method includes the steps of: (a) forming a first generation population of fuzzy automata, where the first generation population of fuzzy automata includes a plurality of fuzzy automata; (b) performing a mutation operation on each fuzzy automaton in the first generation population of fuzzy automata; (c) reproducing the first generation population of fuzzy automata using a survival of the fittest operation; and (d) applying a cross-over operator to the reproduced first generation population of fuzzy automata, thereby yielding a next-generation population of fuzzy automata. A near-optimal fuzzy automaton is identified by evaluating the performance of each fuzzy automaton in the population; otherwise the methodology is repeated until a near-optimal fuzzy automaton is derived for the given separation problem.

[0009] Additional objects, features and advantages of the present invention will become apparent from the following description and appended claims taken in conjunction with the accompanying drawings.

BRIEF DESCRIPTION OF THE DRAWINGS

[0010]FIG. 1 is a diagram depicting an exemplary signal classifier implemented in accordance with the present invention;

[0011]FIGS. 2A and 2B are flowcharts illustrating a method for deriving near-optimal fuzzy automata for a given separation problem in accordance with the present invention;

[0012]FIG. 3 is a diagram depicting an exemplary crossover operation between two fuzzy automata in accordance with the present invention; and

[0013]FIG. 4 is a flowchart illustrating a method for deriving a signal classifier in an evolving signal environment in accordance with the present invention.

DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

[0014]FIG. 1 illustrates an exemplary signal classifier 10 that is implemented using fuzzy genetic learning automata in accordance with the present invention. Each of the fuzzy genetic learning automata are dedicated to learning and separating a specific signal or a particular set of signals from an evolving signal environment. As will be apparent to one skilled in the art, two or more fuzzy automata may be used to implement the signal classifier 10. In a preferred embodiment, each of the fuzzy automata are implemented as individual software agents.

[0015] In operation, the signal classifier 10 receives a plurality of input signals 12 from a signal environment. The input signals 12 are evaluated by each of the fuzzy automata. For illustration purposes, a first automaton, U_(1,3), is intended to classify Signals 1 and 3 and distinguish them from Signal 2; whereas a second automaton, U₂, is intended to classify Signal 2 and distinguish it from Signals 1 and 3. Each fuzzy automaton outputs a confusion matrix, where the rows of the matrix are output vectors arranged according to the input signals. For instance, when Signal 1 is presented to the first automaton, A_(1,3), the first row of the confusion matrix is ideally [1 0 0]. Similarly, when Signal 3 is presented to the first automaton, A_(1,3), the third row of the confusion matrix is ideally [0 0 1]. Likewise, when Signal 2 is presented to the second automaton, A₂, the second row of the confusion matrix is ideally [0 1 0]. Thus, the resulting output from the signal classifier 10 is an aggregate confusion matrix 14 having the appropriate rows from each of the individual automata. In this example, the first and third rows of the aggregate confusion matrix correspond to the first and third rows of the confusion matrix from the first automaton, and the second row of the aggregate confusion matrix corresponds to the second row of the confusion matrix from the second automaton. It is noteworthy that the aggregate performance of a signal classifier built from two or more fuzzy automata is typically better than the performance of each individual fuzzy automaton.

[0016] A method for deriving a near-optimal fuzzy automaton for a given separation problem is shown in FIGS. 2A and 2B. In accordance with the present invention, the near-optimal fuzzy automata may then serve as the basis for a signal classifier. First, a separation problem must be identified 22 from the signal environment. A separation problem, Ε, is a set of signals {Signal 0, Signal 1, . . . , Signal ξ} that need to be separated from each other. Each of the signals is further defined as a vector labeled with time, such as A_(t)=[a^(t) ₀, a^(t) ₁, . . . , a^(t) _(m−1)], t=0, 1, . . . , _(χ). Near-optimal fuzzy automata can then be derived for the given separation problem. A fuzzy automaton is a well known type of mathematical object as described by George J. Klir and Bo Yuam in the text Fuzzy Sets and Fuzzy Logic, Theory and Applications, Prentice Hall, 1995. A fuzzy automaton, U, may be represented by a quintuple U=(_(U)S, _(U)R, _(U)E⁰, A*, B*), where _(U)S is an l×l×m matrix of fuzzy state transitions for fuzzy automaton U; _(U)R is an l×p matrix of fuzzy output transitions for fuzzy automaton U; _(U)E⁰ is an initial vector of fuzzy state memberships of length l; A* is a space of input vectors, each vector having length m; and B* is a space of output vectors, each of length p.

[0017] Initially, an input set of fuzzy automata is chosen stochastically by pulling elements of S, R, and E⁰ at random from the unit interval until a set of fuzzy automata with some positive separability is realized. A population of fuzzy automata, {^(g)U⁰, ^(g)U¹, . . . , ⁹U^(π−1)}, is then formed 24 by randomly selecting a subset from the input set of fuzzy automata. In this notation, a fuzzy automaton, U, belongs to a certain generation as designated by a pre-superscript, g, where g is a non-negative integer. Likewise, a post-superscript is used to designate a particular member of the population. Thus, a first generation population of fuzzy automata is represented as {¹U⁰, ¹U¹, . . . , ¹U^(π−1)}.

[0018] A genetic algorithm is iteratively applied to the population of fuzzy automata until a near-optimal fuzzy automaton is derived for the given separation problem. In general, a genetic algorithm is a model of learning which derives its behavior from a metaphor of the processes of evolution as they occur in nature. In nature, the members of a population are derived from and represented by chromosomes. Likewise, the members of a population of fuzzy automata must be represented in a chromosome paradigm in order to apply a genetic algorithm.

[0019] In accordance with the present invention, at least the first three elements of the quintuple U, which are _(U)S, _(U)R, _(U)E⁰, are redefined 26 in chromosome form. In particular, each data value of each matrix which comprises an element of the fuzzy automaton is represented as a binary word. For example, _(U)S is defined as follows: $\quad_{U}S = \left\lbrack {{\begin{bmatrix} {\quad_{U}S_{0,0,0}} & {\quad_{U}S_{0,1,0}} & \cdots & {\quad_{U}S_{0,{l - 1},0}} \\ {\quad_{U}S_{1,0,0}} & {\quad_{U}S_{1,1,0}} & \cdots & {\quad_{U}S_{1,{l - 1},0}} \\ \vdots & \vdots & \quad & \vdots \\ {\quad_{U}S_{{l - 1},0,0}} & {\quad_{U}S_{{l - 1},1,0}} & \cdots & {\quad_{U}S_{{l - 1},{l - 1},0}} \end{bmatrix}\quad\begin{bmatrix} {\quad_{U}S_{0,0,1}} & {\quad_{U}S_{0,1,1}} & \cdots & {\quad_{U}S_{0,{l - 1},1}} \\ {\quad_{U}S_{1,0,1}} & {\quad_{U}S_{1,1,1}} & \cdots & {\quad_{U}S_{1,{l - 1},1}} \\ \vdots & \vdots & \quad & \vdots \\ {\quad_{U}S_{{l - 1},0,1}} & {\quad_{U}S_{{l - 1},1,1}} & \cdots & {\quad_{U}S_{{l - 1},{l - 1},1}} \end{bmatrix}}{\cdots \quad\begin{bmatrix} {\quad_{U}S_{0,0,{m - 1}}} & {\quad_{U}S_{0,1,{m - 1}}} & \cdots & {\quad_{U}S_{0,{l - 1},{m - 1}}} \\ {\quad_{U}S_{1,0,{m - 1}}} & {\quad_{U}S_{1,1,{m - 1}}} & \cdots & {\quad_{U}S_{1,{l - 1},{m - 1}}} \\ \vdots & \vdots & \quad & \vdots \\ {\quad_{U}S_{{l - 1},0,{m - 1}}} & {\quad_{U}S_{{l - 1},1,{m - 1}}} & \cdots & {\quad_{U}S_{{l - 1},{l - 1},{m - 1}}} \end{bmatrix}}} \right\rbrack$

[0020] where each data value is _(U)S_(h,i,j)=(_(U)S_(h,i,j))₀∘(_(U)S_(h,i,j))₁∘ . . . ∘(_(U)S_(h,i,j))_(n−1) such that each term (_(U)S_(h,i,j))_(k) in the concatenation is an element of {0, 1} and ∘ is the concatenation operator. Accordingly, each data value, _(U)S_(h,i,j), of the matrix is a chromosome, e.g., 00101 . . . 0011, of some length n. As will be apparent to one skilled in the art, _(U)R and _(U)E⁰ can be similarly redefined in chromosome form.

[0021] A mutation operation can then be applied 28 to each of the fuzzy automata in the population. To effect mutation, a small number of data entries in S, R, and E⁰ for each automaton are randomly selected. For each entry, a random location along the bit string is flipped from 0→1 or 1→0. The bit flip function, ℑ, on the set {0, 1} may be defined as ℑ(b)=(b+1)(modulo2), where b is a member of {0,1}. In a preferred embodiment, mutation only occurs in the semi-automaton {_(U)S, _(U)R, _(U)E⁰}.

[0022] For illustration purposes, consider a 2×4×3 fuzzy automaton where the random entries chosen for mutation are marked with a star as follows:

[0023] Thus, there are two data entries where mutation by bit flipping occurs: _(U)s_(1,1,0) and _(U)r_(0,2). Within each data entry, a random location is then selected. For example, suppose that the third bit is flipped for _(U)s_(1,1,0) and the fifth bit is flipped for _(U)r_(0,2). The resulting mutation operation would be as follows: (_(U)S_(1, 1, 0))₀ ∘ (_(U)S_(1, 1, 0))₁ ∘ (_(U)S_(1, 1, 0))₂ ∘ ⋯ ∘ (_(U)S_(1, 1, 0))₇ ⇒ (_(U)S_(1, 1, 0))₀ ∘ (_(U)S_(1, 1, 0))₁ ∘ ((_(U)S_(1, 1, 0))₂) ∘ ⋯ ∘ (_(U)S_(1, 1, 0))₇ and(_(U)r_(0, 2))₀ ∘ (_(U)r_(0, 2))₁ ∘ (_(U)r_(0, 2))₂ ∘ ⋯ ∘ (_(U)r_(0, 2))₇ ⇒ (_(U)r_(0, 2))₀ ∘ (_(U)r_(0, 2))₁ ∘ ⋯ ∘ ((_(U)r_(0, 2))₅) ∘ (_(U)r_(0, 2))₆ ∘ ((_(U)r_(0, 2))₇.

[0024] One skilled in the art will readily recognize that the above description is merely exemplary of a mutation operation. It is envisioned that other rules may be devised for effecting a mutation operation within the scope of the present invention.

[0025] Next, the first generation population of fuzzy automata is reproduced in accordance with a survival of the fiftest operation. As will be more fully explained below, reproduction involves the following three steps: (1) evaluating the fitness 30 of each fuzzy automata in the population, (2) ranking the fuzzy automata 32 within the population according to the fitness of each fuzzy automata, and (3) reproducing at least one of the fuzzy automata 34 in accordance with some reproduction rule.

[0026] First, each of the fuzzy automata are evaluated for fitness via a fitness function. In a preferred embodiment of the present invention, the fitness of each fuzzy automaton is assessed using a diagonal dominance indicator. While the following description is provided with reference to a particular fitness function, it is envisioned that other known fitness functions fall within the broader aspects of the present invention.

[0027] In order to determine a diagonal dominance indicator for a fuzzy automaton, a set of input signals must be identified from the signal environment. The set of input signal are evaluated by each fuzzy automaton in the population, thereby yielding a confusion matrix for each fuzzy automaton. A diagonal dominance indicator is computed for each confusion matrix, where a figure of merit for diagonal dominance, D, is provided as follows:

D=(C _(smallest on-diagonal) −C _(largest off-diagonal))/((C _(smallest on-diagonal) +C _(largest off-diagonal))/2).

[0028] For illustration purposes, the diagonal dominance indicator for an exemplary confusion matrix of $\begin{bmatrix} {1.17\quad} & {{.21}\quad} & {{.23}\quad} \\ {{.00}\quad} & {1.24\quad} & {{.36}\quad} \\ {{.10}\quad} & {{.22}\quad} & {1.26\quad} \end{bmatrix}\quad$

[0029] is computed as D=(1.17−0.36)/((1.17+0.36)/2)=1.06. As will be apparent to one skilled in the art, a diagonal dominance indicator for a confusion matrix may be computed in accordance with other known figures of merit.

[0030] Second, each of the fuzzy automata in the population are ranked according to the fitness of the individual automaton, where the diagonal dominance indicator is indicative of the fitness of an automaton. More specifically, the fuzzy automata are ranked from the fuzzy automata having the largest diagonal dominance to the fuzzy automata having the smallest diagonal dominance.

[0031] Third, at least one of the fuzzy automata in the population is reproduced in accordance with a reproduction rule. In accordance with a survival of the fittest approach, the reproduction rule is fashioned such that the highest ranking fuzzy automata are reproduced and the poorest ranking automata are eliminated. For example, given a population of eight fuzzy automata, an exemplary reproduction rule may specify that the two highest ranking automata are duplicated, the four middle ranking automata are maintained, and the lowest two ranking automata are eliminated. This exemplary reproduction rule is illustrated as follows: (, , , , , , , ) ⇒ {, , , , , , , }

[0032] This particular reproduction rule has the advantage of maintaining a constant population size of eight. It is envisioned that other types of reproduction rules fall within the scope of the present invention.

[0033] Once the population of fuzzy automata is reproduced in accordance with a survival of the fittest operation, a unique crossover operator may be applied 36 to the population of fuzzy automata. In general, fuzzy automata crossover operates on two fuzzy automata, U and V, from a particular generation of automata, and produces two new fuzzy automata, W and X, belonging to a next generation of the population. More specifically, the crossover operator is specified as a transform

_(Ψ), which maps the tuple of input automata (U, V), to the tuple of output, next-generation automata (W, X). In other words, the crossover operator may be expressed as

_(Ψ)((U, V))=(W, X)

[0034] As will be described below, only the state transitions .S, the response transitions .R, and the initial states .E are involved in the crossover operation. The spaces A* and B* are not involved in the crossover operation.

[0035] In the transform

_(Ψ), the label Ψ is an ordered triple Ψ=(Ψ_(S), Ψ_(R), Ψ_(E0)), where Ψ_(S), Ψ_(R), Ψ_(E0) are matrices having the same dimensions as .S, .R, and .E⁰. The entries in the arrays are numbers from the set {1, 2, . . . , n−1}, such that the entries determine the alleles of the crossover. In other words, the entries determine the points along the chromosomes where crossover is to occur. These matrices are expressed as follows: $\Psi_{S} = \left\lbrack {{\begin{bmatrix} k_{{S;0},0,0} & k_{{S;0},1,0} & \cdots & k_{{S;0},{l - 1},0} \\ k_{{S;1},0,0} & k_{{S;1},1,0} & \cdots & k_{{S;1},{l - 1},0} \\ \vdots & \vdots & \quad & \vdots \\ k_{{S;{l - 1}},0,0} & k_{{S;{l - 1}},1,0} & \cdots & k_{{S;{l - 1}},{l - 1},0} \end{bmatrix}\quad\begin{bmatrix} k_{{S;0},0,1} & k_{{S;0},1,1} & \cdots & k_{{S;0},{l - 1},1} \\ k_{{S;1},0,1} & k_{{S;1},1,1} & \cdots & k_{{S;1},{l - 1},1} \\ \vdots & \vdots & \quad & \vdots \\ k_{{S;{l - 1}},0,1} & k_{{S;{l - 1}},1,1} & \cdots & k_{{S;{l - 1}},{l - 1},1} \end{bmatrix}}{\cdots \quad\begin{bmatrix} k_{{S;0},0,{m - 1}} & k_{{S;0},1,{m - 1}} & \cdots & k_{{S;0},{l - 1},{m - 1}} \\ k_{{S;1},0,{m - 1}} & k_{{S;1},1,{m - 1}} & \cdots & k_{{S;1},{l - 1},{m - 1}} \\ \vdots & \vdots & \quad & \vdots \\ k_{{S;{l - 1}},0,{m - 1}} & k_{{S;{l - 1}},1,{m - 1}} & \cdots & k_{{S;{l - 1}},{l - 1},{m - 1}} \end{bmatrix}}} \right\rbrack$ $\Psi_{S} = \begin{bmatrix} k_{{R;0},0} & k_{{R;0},1} & \cdots & k_{{R;0},{p - 1}} \\ k_{{R;1},0} & k_{{R;1},1} & \cdots & k_{{R;1},{p - 1}} \\ \vdots & \vdots & \quad & \vdots \\ k_{{R;{l - 1}},0} & k_{{R;{l - 1}},1} & \cdots & k_{{R;{l - 1}},{p - 1}} \end{bmatrix}$ Ψ_(E₀) = [k_(E₀; 0)  k_(E₀; 1)  ⋯  k_(E₀; l − 1)]

[0036] The operation of the transform can be further specified in view of this definition for

_(Ψ). In particular, each element of the fuzzy automata W and X are further expressed in terms of the elements of U and V. For instance, the first element of W, _(W)S, is generated as follows: _(h, i, j) = (_(h, i, j))₀ ∘ (_(h, i, j))₁∘  …   ∘ (_(h, i, j))_(k_(S; h, i, j⁻¹)) ∘ (_(h, i, j))_(k_(S; h, i, j))∘  …   ∘ (_(h, i, j))_(n − 1)

[0037] for each data value _(W)S_(h,I,j) within _(W)S. In other words, _(W)S_(h,I,j) obtains its front portion from _(U)S_(h,I,j) and its tail portion from _(v)S_(h,I,j). It is noteworthy that k_(S;h,i,j) from Ψ_(S) is used to identify the crossover point within the binary word that represents each data value.

[0038] The second element of W, _(W)R, is generated similarly as follows:

_(W) r _(h,i,j)=(_(U) r _(h,i,j))₀∘(_(U) r _(h,i,j) )₁∘ . . . ∘(_(U) _(h,i,j))_(k) _(R;h,i,j) ⁻¹∘(_(V) r _(h,i,j))_(k) _(R;h,i,j) ∘ . . . ∘(_(V) r _(h,i,j))_(n−1)

[0039] for each data value _(W)r_(h,I,j) within _(W)R. Likewise, the third element of W, _(W)E⁰, is generated as follows:

_(W) e _(h,i,j) ⁰=(_(U) e _(h,i,j) ⁰)₀∘(_(U) e _(h,i,j) ⁰)₁∘ . . . ∘(_(U) e _(h,i,j) ⁰)_(k) _(E) _(⁰) _(;h,i,j) ⁻¹∘(_(V) e _(h,i,j) ⁰)_(k) _(E=si 0) _(;h,i,j) ∘ . . . ∘(_(V) e _(h,i,j) ⁰)_(n−1)

[0040] The next generation fuzzy automaton, X, is generated in a similar manner. However, in this instance, the front portion of the chromosome comes from V and the tail portion of the chromosome comes from U. Each element of X is further expressed below. The first element of X, _(X)S, is generated as follows:

_(X) S _(h,i,j)=(_(V) S _(h,i,j))₀∘(_(V) S _(h,i,j))₁∘ . . . ∘(_(V) S _(h,i,j))_(k) _(S;h,i,j) ⁻¹∘(_(U) S _(h,i,j))_(k) _(S;h,i,j) ∘ . . . ∘(_(U) S _(h,i,j))_(n−1)

[0041] for each data value within _(X)S. The second element of X, _(X)R, is generated as follows:

_(X) r _(h,i,j)=(_(V) r _(h,i,j))₀∘(_(V) r _(h,i,j))₁∘ . . . ∘(_(V) r _(h,i,j))_(k) _(R;h,i,j) ⁻¹∘(_(U) r _(h,i,j))_(k) _(R;h,i,j) ∘ . . . ∘(_(U) r _(h,i,j))_(n−1)

[0042] for each data value _(X)R. The third element of X, _(X)E⁰, is generated as follows:

_(X) e _(h,i,j) ⁰=(_(V) e _(h,i,j) ⁰)₀∘(_(V) e _(h,i,j) ⁰)₁∘ . . . ∘(_(V) e _(h,i,j) ⁰)_(k) _(E) _(⁰) _(;h,i,j) ⁻¹∘(_(U) e _(h,i,j) ⁰)_(k) _(E) _(⁰) _(;h,i,j) ∘ . . . ∘(_(U) e _(h,i,j) ⁰)_(n−1)

[0043] for each data value of _(X)E⁰. Thus, the crossover transform has been described in complete detail.

[0044] For illustration purposes, an exemplary crossover operation is illustrated below. Suppose U and V are as follows: ${{\,_{U}S} = \left\lbrack {\begin{bmatrix} 0011000000 & 0000100111 \\ 0011011111 & 0011000101 \end{bmatrix}\begin{bmatrix} 0001101010 & 0011111011 \\ 0001101001 & 0000100011 \end{bmatrix}} \right\rbrack},{{\,_{V}S} = \left\lbrack {\begin{bmatrix} 0100010110 & 0010110101 \\ 0000110000 & 0001011011 \end{bmatrix}\begin{bmatrix} 0010011011 & 0011100000 \\ 0000101011 & 0000111101 \end{bmatrix}} \right\rbrack},$

[0045]_(U)R=_(V)R, and _(U)E⁰=_(V)E⁰. In addition, the crossover allele, Ψ, is ${\Psi_{S} = \left\lbrack {\begin{bmatrix} 8 & 8 \\ 8 & 8 \end{bmatrix}\begin{bmatrix} 8 & 8 \\ 8 & 8 \end{bmatrix}} \right\rbrack},$

[0046] where Ψ_(R) and Ψ_(E0) are arbitrary since _(U)R=_(V)R, and _(U)E⁰=_(V)E⁰. The operation of me on U and V to produce W and X is illustrated in FIG. 3. The bits originating with V are shown in bold italic type; whereas those originating with U appear in regular type. As shown in FIG. 3, W receives the front portions of the bit strings from U and the back portions of the bit strings from V, while X receives the front portions of the bit strings from V and the back portions of the bit strings from U. Although the same allele location k for each element of S was used in the above example, this is not intended as a limitation on the values of S. On the contrary, different allele locations k may be suitably used in S.

[0047] Although the present invention is not limited as such, the above-described crossover operation is applied to the first generation population of fuzzy automata by randomly selecting pairs of fuzzy automata from the population and then applying the crossover operator to each pair of fuzzy automata. For a population of eight fuzzy automata, the crossover operator is applied to four randomly selected pairs of fuzzy automata. In this way, a next generation population of fuzzy automata have been derived for the given separation problem.

[0048] Lastly, each of the fuzzy automata in the next generation population is evaluated for performance 38 in view of the given separation problem. In a preferred embodiment, each fuzzy automaton is evaluated using the above-described fitness function. If one of the fuzzy automata exceeds some predefined performance threshold (e.g., a minimum diagonal dominance value), then algorithm is complete, thereby yielding a near-optimal fuzzy automaton 40 for the given separation problem. On the other hand, if none of the fuzzy automata in the next-generation population exceeded the performance threshold, then the process is repeated starting with the next-generation population serving as the input to the mutation operation. The genetic algorithm of the present invention can be repeated until at least one fuzzy automaton exceeds the performance threshold associated with the given separation problem. As will be apparent to one skilled in the art, employing a genetic algorithm having the basic elements of mutation, reproduction of the fittest, and crossover guarantees convergence upon a near-optimal solution for the given separation problem. While the above description of the present invention has been provided with reference to a particular genetic algorithm, there are other known generation-level genetic operations (e.g., blended crossover, gray coding, etc.) which may be incorporated into the overall framework of the present invention.

[0049] A signal environment, ε(π), will typically evolve over time. For an individual signal in the environment, the time variable t may be used to designate “fast time”. However, the signal environment will ordinarily evolve over “slow time” τ (which may also be referred to as epoch). Accordingly, the separation problem Ε(τ) will also typically evolve over time.

[0050] Referring to FIG. 4, a method is provided for deriving a signal classifier in an evolving signal environment. As previously described, a single fuzzy automaton at a fixed epoch in history τ must learn to acquire a subset of signals within the environment. In addition, the fuzzy automaton must also not confuse these signals with the other signals in environment. If multiple fuzzy automata are needed to resolve the separation problem Ε(τ) then the separation problem (may be partitioned 42 into a set of separation problems {(Ε(τ))₀, (Ε(τ))₁, . . . , (Ε(τ)_(γ−1),}, such that ${\sum(\tau)} = {\underset{i = 0}{\bigcup\limits^{\gamma - 1}}{\left( {\sum(\tau)} \right)_{i}.}}$

[0051] In accordance with the present invention, a near-optimal fuzzy automaton may be derived 44 for each individual separation problem using the above-described genetic algorithm. Thus, each of the fuzzy automata would learn to produce positive diagonal dominance for the signals representing its part of the problem (Ε(τ))_(i), (as well as not to have diagonal dominance for the rest of the signal problem Ε(τ) . . . (Ε(τ))_(i).

[0052] An aggregate confusion matrix can be formed 46 from the resulting set of near-optimal fuzzy automata. The aggregate confusion matrix is used to evaluated 48 the set of fuzzy automata in view of the overall separation problem. If the set of fuzzy automata exceeds some predefined performance threshold, then the set of fuzzy automata can be used as the basis for a signal classifier. On the other hand, if the set of fuzzy automata does not exceed the performance threshold, then the separation problem is repartitioned, and the process is repeated. Likewise, the signal classifier is periodically re-evaluated over time as shown at 52 in order ensure that its performance meets some minimum performance threshold. If the signal classifier does not exceed the performance threshold, then the above-described methodology is reapplied to the separation problem. In this way, changes in the environment are learned as the epoch is advanced.

[0053] The foregoing discussion discloses and describes merely exemplary embodiments of the present invention. One skilled in the art will readily recognize from such discussion, and from the accompanying drawings and claims, that various changes, modifications and variations can be made therein without departing from the spirit and scope of the invention as defined in the following claims. 

What is claimed is:
 1. A method for deriving a near-optimal fuzzy automaton for a given separation problem, comprising the steps of: (a) forming a first generation population of fuzzy automata, where the first generation population of fuzzy automata having a plurality of fuzzy automata; (b) performing a mutation operation on each fuzzy automata in the first generation population of fuzzy automata; (c) reproducing the first generation population of fuzzy automata using a survival of the fittest operation; and (d) applying a cross-over operator to the reproduced first generation population of fuzzy automata, thereby yielding a next-generation population of fuzzy automata.
 2. The method of claim 1 wherein the step of forming a first generation population further comprises the steps of providing an input set of fuzzy automata, and randomly selecting a subset of fuzzy automata from the input set of fuzzy automata.
 3. The method of claim 1 wherein the step of forming a first generation population further comprises the step of defining each of the fuzzy automata in the first generation population as one or more matrices each having a plurality of data values, and representing in chromosome form each of the data values in at least one the matrices in each of the fuzzy automata.
 4. The method of claim 3 wherein the step of representing in chromosome form further comprises converting each of the data values to a binary word.
 5. The method of claim 1 wherein the step of performing a mutation operation further comprises randomly flipping at least one bit in each of the fuzzy automata, where the data values for each of the fuzzy automata are represented as a binary word.
 6. The method of claim 1 wherein the step of reproducing the first generation population further comprises the steps of: evaluating the fitness of each fuzzy automaton in the first generation population of fuzzy automata; ranking the fuzzy automata in the first generation population of fuzzy automata according to the fitness of each fuzzy automaton; and reproducing at least one of the fuzzy automata in accordance with a reproduction rule.
 7. The method of claim 6 wherein the step of evaluating the fitness further comprises the steps of: identifying a set of input signals; evaluating each of the fuzzy automata in the first generation population of fuzzy automata based on the set of input signals, thereby yielding a confusion matrix for each fuzzy automaton; and determining a diagonal dominance indicator for each confusion matrix.
 8. The method of claim 7 wherein the step of determining a diagonal dominance indicator further comprises the step of computing the diagonal dominance indicator, D, in accordance with D=(C _(smallest on-diagonal) −C _(largest off-diagonal))/((C _(smallest on-diagonal) +C _(largest off-diagonal))/2)
 9. The method of claim 6 wherein the step of ranking the fuzzy automata further comprises ranking the fuzzy automata from most fit to least fit based on the diagonal dominance indicator.
 10. The method of claim 6 wherein the step of reproducing at least one of the fuzzy automata further comprises defining the reproduction rule such that the two highest ranked fuzzy automata in the first generation population of fuzzy automata are duplicated and the lowest two ranked fuzzy automata in the first generation population of fuzzy automata are eliminated.
 11. The method of claim 1 wherein the step of applying a crossover operator further comprises the steps of: randomly identifying at least two of the fuzzy automata in the first generation population of fuzzy automata, where each of the two fuzzy automata is defined by one or more matrices each having a plurality of data values; representing in chromosome form each of the data values in at least one of the matrices in each of the two fuzzy automata; and applying a crossover operator to at least one matrix in each of the two fuzzy automata, where the crossover operator determines the alleles of crossover between the two fuzzy automata, thereby yielding two next-generation fuzzy automata.
 12. The method of claim 11 wherein the step of representing in chromosome form further comprises converting each of the data values to a binary word.
 13. The method of claim 11 wherein the step of applying a crossover operator further comprises a transform matrix having the same dimensions as at least one matrix in each of the two fuzzy automata, where the entries in the transform matrix are numbers that determine the alleles of crossover in the corresponding data values of at least one matrix in each of the two fuzzy automata.
 14. The method of claim 11 wherein the step of randomly identifying at least two of the fuzzy automata further comprises defining each of the at least two fuzzy automata as a quintuple (U^(S), U^(R), U^(E0), A*, B*), where U^(S) is a matrix of fuzzy state transitions, U^(R) is a matrix of fuzzy output transitions, U^(E0) is a vector of fuzzy state memberships, A* is a space of input vectors, and B* is a space of output vectors.
 15. The method of claim 14 wherein the step of applying a crossover operator is applicable to U^(S), U^(R), U^(E0) of at least two fuzzy automata.
 16. The method of claim 1 further comprising the steps of: evaluating the performance of each fuzzy automaton in the next generation of fuzzy automata in relation to the given separation problem; and repeating steps (b) thru (d) until at least one fuzzy automaton from the next-generation of fuzzy automata achieves a satisfactory performance level in relation to the given separation problem.
 17. The method of claim 16 wherein the step of repeating steps (b) thru (d) further comprises using the next-generation population of fuzzy automata as input to the mutation operation.
 18. A method for generating a next generation of fuzzy automata, comprising the steps of: providing a first and a second input fuzzy automaton, where each fuzzy automaton is defined by one or more matrices each having a plurality of data values; representing in chromosome form at least one of the matrices in each of the first and second input fuzzy automata; and applying a crossover operator to at least one matrix in each of the first and second input fuzzy automata, where the crossover operator determines the alleles of crossover between the first and second input fuzzy automata, thereby yielding two next-generation fuzzy automata.
 19. The method of claim 18 wherein the step of representing in chromosome form further comprises converting each of the data values to a binary word.
 20. The method of claim 18 wherein the step of applying a crossover operator further comprises a transform matrix having the same dimensions as at least one matrix in each of the two fuzzy automata, where the entries in the transform matrix are numbers that determine the alleles of crossover in the corresponding data values of the at least one matrix in each of the two fuzzy automata.
 21. The method of claim 18 wherein the step of providing a first and a second input fuzzy automaton further comprises defining each of the first and second input fuzzy automata as a quintuple (U^(S), U^(R), U^(E0), A*, B*), where U^(S) is a matrix of fuzzy state transitions, U^(R) is a matrix of fuzzy output transitions, U^(E0) is a vector of fuzzy state memberships, A* is a space of input vectors, and B* is a space of output vectors, such that the crossover operator is applicable to U^(S), U^(R), U^(E0) of the first and second input fuzzy automata.
 22. A method for evaluating the performance of a fuzzy automata, comprising the steps of: identifying a set of input signals; evaluating the set of input signals using the fuzzy automata, thereby yielding a confusion matrix for each fuzzy automata; and determining a diagonal dominance indicator for each confusion matrix.
 23. The method of claim 22 wherein the step of determining a diagonal dominance indicator further comprises the step of computing the diagonal dominance indicator, D, in accordance with D=(C _(smallest on-diagonal) −C _(largest off-diagonal))/((C _(smallest on-diagonal) +C _(largest off-diagona)l)/2) 